package com.ddmmo.exhibition.common.enums;

/**
 * 返回代码枚举类
 *
 * @author Wang Jiajun (20022567)
 * @date 2022/02/17
 */
public enum ResponseCodeEnum {

    SUCCESS(200, "操作成功"),
    ERROR(500, "系统异常"),
    NODATA(4004, "查询的数据不存在"),
    UNAUTHORIZED(401, "用户认证失败"),
    ARGUMENT_EXCEPTION(409, "请求参数错误"),
    UNSUPPORTED_REQUEST_METHOD(405, "请求方式错误"),
    TIME_OUT(410, "系统繁忙，请稍后重试"),
    FILE_UPLOAD_FILE(1001, "文件上传失败"),
    FILE_EMPTY(1002, "没有数据的空文件"),
    FILE_TYPE_WRONG(1003, "文件类型错误"),
    FILE_CONTENT_WRONG(1004, "文件内容错误"),
    PUSH_WRONG(1005, "数据推送失败"),
    NO_LOGIN(2001, "登录已过期，请重新登录"),
    NO_TOKEN(2002, "没有权限"),
    TOKEN_EXPIRED(2003, "登录过期，请重新登录!"),
    USER_IS_EXIST(3001, "该用户信息已经存在!"),
    USER_NO_EXIST(3002, "该用户信息不存在!"),
    USER_HAS_BIND(3003, "该手机号已经绑定!"),
    USER_BIND_ERROR(3004, "该用户绑定失败!"),
    USER_UNKNOWN(3005, "用户不存在，请重新输入!"),
    USER_PASSWORD_WRONG(3006, "用户密码错误!"),
    USER_NOT_ROLE_FORBIDDEN(3007, "用户角色错误!"),
    USER_ADD_ERROR_INVALID_PHONE(3008, "手机号码格式不正确!"),
    EXCEL_EXIST_MERGE_ERROR(3009, "导入文档不能存在合并的单元格!"),
    USER_ADD_ERROR_PHONEANDUESRNAME_REPETITON(4001, "手机号和用户名已存在，请重新注册!"),
    EXCEL_ERROR(5001, "Excel导入失败!"),
    EXCEL_ERROR_NOFINDMODEL(5002, "导出失败，模板文件未找到!"),
    EXCEL_ERROR_READ(5003, "Excel读取失败!"),
    EXCEL_ERROR_MODLE(5004, "Excel模板下载失败!"),
    DELETE_ERROR(6001, "删除时发生错误!"),
    ADD_ERROR(6002, "添加时发生错误!"),
    MUST_ERROR_NOMUSTRECORD(6003,"您的必填选项未填写完整，请检查后再提交"),
    ADD_ERROR_MATERIALCLASSIFY(6003,"物料分类名称已存在，添加失败"),
    UPDATE_ERROR(6004, "修改时发生错误!"),
    FILE_ERROR_FILEPATH(6005,"部分记录不存在，无法更新文件路径"),
    FILE_ERROR_NOFILE(6006,"未选择文件"),
    FILE_ERROR_DOWN(6007,"文件下载出现错误"),
    FIND_ERROR(6008, "查询时发生错误!"),
    FIND_NULL(6009, "查询结果为空!请重新校验时间段。"),
    ADD_ERROR_NOACCOUNT(6010,"添加失败，没有查询到该物料信息，请先添加物品!"),
    EXCEL_ERROR_ERRORMODLE(6011,"不是该界面功能导入模板，请检查模板格式。"),
    UP_ERROR_UPACCOUNT(6012,"定时上传台账数据失败"),
    UP_ERROR_UPRECORD(6013,"定时上传试验记录失败"),
    UP_ERROR_UPFILE(6018,"定时上传文件报告失败"),
    PDF_ERROR(6014,"PDF详情查询失败!"),
    PDF_ERROR_NOHAVE(6015,"查询失败，没有查询到该试验记录的pdf，可能已被删除!"),
    PDF_ERROR_NOER(6016,"查询失败，没有查询到该试验记录包含信息"),
    PDF_ERROR_HAVE(6017,"添加失败，该上传报告编号已存在!"),
    RFID_IS_EXIST(7001, "RFID已经存在，请使用唯一的RFID。"),
    USER_LOGIN_ERROR(10001, "密码错误，请检查输入的密码，然后重新登录"),
    USER_LOGIN_ERROR_NO(10002,"用户登录时出现错误："),

    USER_LOGIN_ERROR_UPDATE(10003,"用户修改密码失败："),
    USER_LOGIN_ERROR_NEWPASSWORD(10004,"修改新密码不能为空"),
    USER_LOGOUT_ERROR(10005,"用户退出失败");



    private final Integer code;
    private final String message;

    ResponseCodeEnum(Integer code, String message) {
        this.code = code;
        this.message = message;
    }

    public Integer getCode() {
        return code;
    }

    public String getMessage() {
        return message;
    }

    public static String getMsgByCode(Integer code) {
        for (ResponseCodeEnum element : ResponseCodeEnum.values()) {
            if (element.getCode().equals(code)) {
                return element.getMessage();
            }
        }
        return "";
    }

}
